﻿using System.ComponentModel;
using System.Windows.Controls.Primitives;
using System.Windows.Media;

namespace WpfApp1.Themes
{
    public enum BaseThemeType
    {
        [Description("蓝色/Light")]
        Blue, 
        [Description("红色/Light")]
        Red,
        [Description("粉色/Light")]
        Pink,
        [Description("黑色/Dark")]
        Dark,
        [Description("黑绿色/DarkGreen")]
        DarkGreen, 
    }

    /// <summary>
    /// 基础颜色定义
    /// </summary>
    public class BaseTheme
    {
        /// <summary>
        /// 名称
        /// </summary>
        public BaseThemeType ThemeType { get; set; }
        
        #region 区域色
        /// <summary>
        /// 窗体色
        /// </summary>
        public Color WindowColor { get; set; }
        /// <summary>
        /// 活动区域背景色
        /// </summary>
        public Color ContentAreaColor { get; set; }
        #endregion

        #region 控件色\Control Background
        /// <summary>
        /// 控件色
        /// </summary>
        public Color ControlColor { get; set; }
        /// <summary>
        /// 控件色（禁用）
        /// </summary>
        public Color ControlDisabledColor { get; set; }
        /// <summary>
        /// 控件色（悬停）
        /// </summary>
        public Color ControlMouseOverColor { get; set; }
        /// <summary>
        /// 控件色（点击）
        /// </summary>
        public Color ControlPressedColor { get; set; }
        /// <summary>
        /// 控件色（选中）
        /// </summary>
        public Color ControlSelectedColor { get; set; }
        /// <summary>
        /// 控件色（无焦点）
        /// </summary>
        public Color ControlUnfocusedColor { get; set; }
        #endregion

        #region 字体色\Foreground
        /// <summary>
        /// 字体色
        /// </summary>
        public Color FrontColor { get; set; }
        /// <summary>
        /// 字体色（禁用）
        /// </summary>
        public Color FrontDisabledColor { get; set; }
        /// <summary>
        /// 字体色（悬停）
        /// </summary>
        public Color FrontMouseOverColor { get; set; }
        /// <summary>
        /// 字体色（点击）
        /// </summary>
        public Color FrontPressedColor { get; set; }
        /// <summary>
        /// 字体色（选中）
        /// </summary>
        public Color FrontSelectedColor { get; set; }
        /// <summary>
        /// 控件色（无焦点）
        /// </summary>
        public Color FrontUnfocusedColor { get; set; }
        #endregion

        #region 边框色\Border
        /// <summary>
        /// 边框色
        /// </summary>
        public Color BorderColor { get; set; }
        /// <summary>
        /// 边框色（禁用）
        /// </summary>
        public Color BorderDisabledColor { get; set; }
        /// <summary>
        /// 边框色（悬停）
        /// </summary>
        public Color BorderMouseOverColor { get; set; }
        /// <summary>
        /// 边框色（点击）
        /// </summary>
        public Color BorderPressedColor { get; set; }
        /// <summary>
        /// 边框色（选中）
        /// </summary>
        public Color BorderSelectedColor { get; set; }
        /// <summary>
        /// 边框色（无焦点）
        /// </summary>
        public Color BorderUnfocusedColor { get; set; }
        #endregion

        #region 基础色定制
        public Color RedColor { get; set; }
        public Color BlueColor { get; set; }
        #endregion
    }
}
